
using WooEngine.Register;
using WooEngine.UI.Config;

public class FirstRegisterProvider : AbstractRegisterProvider
{
    public const string DefaultClassName = "FirstRegisterProvider";

    protected override void registCommand()
    {
        Facade.RegisterCommand(InitDefaultCommand.DefaultClassName, () => new InitDefaultCommand());
        Facade.RegisterCommand(InitDLLCommand.DefaultClassName, () => new InitDLLCommand());

        Facade.RegisterCommand(CSNetGateWayGetCenterInfoCommand.DefaultClassName, () => new CSNetGateWayGetCenterInfoCommand());
        Facade.RegisterCommand(SCNetGateWayGetCenterInfoCommand.DefaultClassName, () => new SCNetGateWayGetCenterInfoCommand());


        Facade.RegisterCommand(FirstPageShowCommand.DefaultClassName, () => new FirstPageShowCommand());
        Facade.RegisterCommand(FirstPageHideCommand.DefaultClassName, () => new FirstPageHideCommand());
    }

    protected override void registPage()
    {
        PageConfig.RegistPageInfo(FirstPage.DefaultClassName, new UIBaseInfo(FirstPage.DefaultClassName, typeof(FirstPage), false));
    }

    protected override void removeCommand()
    {
        Facade.RemoveCommand(InitDefaultCommand.DefaultClassName);
        Facade.RemoveCommand(CSNetGateWayGetCenterInfoCommand.DefaultClassName);
        Facade.RemoveCommand(SCNetGateWayGetCenterInfoCommand.DefaultClassName);
        Facade.RemoveCommand(FirstPageShowCommand.DefaultClassName);
        Facade.RemoveCommand(FirstPageHideCommand.DefaultClassName);
    }

    protected override void removePage()
    {
        PageConfig.RemovePageInfo(FirstPage.DefaultClassName);
    }
}
